SEARCH KEYWORD -- Game object
Bug caused by using changeable value as the default in "python method overload"​
In python we can set the passed in parameter's default value to make the function has the same running feature as the method overload in Java. Define a function like this: def testFunction(self, param1, param2=None, param3=None): Normally we use "None" as the parameter's default value. We can also use str/bool as the default value, but is it OK we use empty list [] as its default value? This is our test program: """ A test program using empty list as the passed-in parameter's default value. ...
PYTHON 2019-03-11 08:52:52
Check file readability in Java
File operation is quite platform dependent. Although Java is a cross platform programming language, the file operation in Java is also platform dependent. The obvious evidence is the file permission check. In Java, we can call canRead(), canWrite() and canExecutable() to check whether the program can read, write or execute the file specified. However, on Windows, when we call canRead() on a File object, we may get unexpected result. Actually, on Windows, when we call canRead() on a File object, ...
How to write your own DSL in Ruby
DSL(Domain Specific Language) is a language defined to fulfill some domain specific requirements to ease people's work. It can be used to define attributes and actions of a domain easily and cleanly. And it is often created based on some common observations or micro patterns of some domain. In Ruby world, there are quite a few places people can find DSL. For example, Ruby itself, Chef recipes. To create a class in Ruby, the traditional OOP way would look like. class User @name = nil @email =...
What can we do about Facebook?
Around 4 years ago, we have posted an article Is Facebook becoming Tencent like? to analyze the strategy Facebook adopted to build its technology empire at that time. Today, we would continue this discussion since the story seems not end there. Facebook is still on the way of copying others. The latest victim being copied is Snapchat where lots of its new features have been copied by Instagram -- an app owned by Facebook. This has helped Instagram acquired lots of active users, especi...
An Object is not a Hash
Following my article A String is not an Error, I want to bring attention to an issue that similarly applies to JavaScript in general, but has special relevance in the Node.JS environment. The problem boils down to the usage of {} as a data-structure where the keys are supplied by untrusted user input, and the mechanisms that are normally used to assert whether a key exists. Consider the example of a simple blog created with Express. We decide to store blog posts in memory in a {}, indexed ...
Object,Hash,Node.js,JavaScript 2012-01-19 10:16:10
An alternative way to parse URL in JavaScript
Normally when we need to process URL in JavaScript, we may use the location object. Then we can use location.hostname,location.href,location.port etc to get the information we need. In this post, we will parse an URL with an alternative way. We can use an URL to create a DOM object by calling document.createElement("a"). The complete code is: function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':',''), host: a.ho...
Mutli-inheritance bug between python 2.7 and 3.7
When we have run a py3.7 code under py2.x or a py2.x code under 3.x ,if a class do mutli-inheritance from 2 parent and the 2 parents also got inheritance from same parent, the different way to handle inheritance chain between python 2 and 3 will cause some running time bug: Assume we got this sample program inheritTest.py : # Purpose: Test mutli-inheritance different between python2 and 3 # Author: Yuancheng Liu # Created: 2019/05/16 class A: def getVal(self): print("cal...
PYTHON,PYTHON 3,INHERITANCE 2019-05-16 08:33:52
Is Facebook becoming Tencent like?
Recently there is news that Facebook is developing a Reader application which is to compete with Flipboard and Pulse. This reminds me a few movements of Facebook in the past few months. First they built a copy of Snapchat named Poke which failed badly at last. Then they launched a new feature on Instagram named Video on Instagram which allows users to shoot and share short videos up to 15 seconds. This feature is to compete with Vine from Twitter. It seems Instagram wins over Vine on this. You c...
Some geek mats to welcome guests
Geeks are mostly otaku, they like surfing the Internet, playing games. Perhaps not everyone is a programmer, but most of them have some understanding of programming. It is undoubtedly very necessary to have a specific pattern mat at the door as a glorious proud geek, what mat should you use? 1. Binary Floor/Door Mat There are 10 kinds of people in the world, one is understanding binary code, the other one who doesn't understand binary code. The above binary mat is the binary codes of " welcome"...
Mat,Geek,Entertainment 2012-10-05 19:39:24
C++, Ruby and CoffeeScript complexity comparison
There are many programming languages around the world, they all designed to help programmer solve some problems, finish some tasks. These languages are often divided into different types, there are structural, object-oriented, functional, scripting languages etc. Some are easy to pick up such as Java, while some are thought to be difficult to learn such as C++. So how do we understand complexities of different programming languages?Many people agree that C++ is very complex languages, it has poi...
Complexity, languages, C++,Ruby,CoffeeScript 2012-06-12 04:46:01
RECENT
- Streamlining the Project Invoicing Process: Tools and Strategies
- Performance comparison of string concatenation in Go language
- Why init() is not recommended in Go
- The Role of Coding Skills in Advancing Tech Careers
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- How to choose quality painted auto parts
- Oval engagement rings from MoonOcean: Elegance of form and individual approach
- Hologres vs AWS Redshift
- GoLand connect to Hologres
- more>>